package untiring07.j2ee.advanced;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


//서블릿 클래스로 HTML 코드 출력하기
// 서블릿 클래스로 브라우저를 통해 HTML코드를 출력하려면 시녀겨써야할 점이 한 둘이 아님
// 1.출력할 유형을 setContentType 으로 지정
// 2. 출력할 HTML 코드는 getWriter 메서드를 이용
// 3. 소스가 수정되면 서블릿클래스를 다시 컴파일해야 함
// 4. 비지니스 로직 과 HTML 출력 코드가 같이 있을 경우 소스 코드의 가독성이 떨어져 유지 보수가 힘들어짐
// 해결책 ; 모델 2개발방식을 이용


@WebServlet("/J04PostvsGet")
public class J04PostvsGet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
   // 로그인 폼을 서블릿으로 작성함
	public void showSimpleForm(HttpServletResponse res) throws IOException{
		res.setContentType("text/html;charset=UTF-8");
		PrintWriter out = res.getWriter();
		
		out.print("<html><head><title>");
		out.print("로그인</title></head>");
		out.print("<body><h1>로그인하세요<h1>");
		out.print("<form method='post'>");
		out.print("<div>아이디:<input type='text' name='uid'/></div>");
		out.print("<div>비밀번호:<input type='password' name='pwd'/></div>");
		out.print("<input type='submit' value='로그인'/></body></html>");
		
		
	}
	
	protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
	showSimpleForm(res);
	}

	
	protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
	String uid =req.getParameter("uid");
	String pwd =req.getParameter("pwd");
	
	if(uid.equals("untiring07")&&pwd.equals("123456"))
		res.getWriter().write("Login Success");
	else{
		res.getWriter().write("Login fail");
	}
	
	
	
	
	
	
	
	}

}
